// Copyright 2021 by 马万里. All rights reserved.
// 开发团队 ：   鸡中之霸
// 开发人员 ：   马万里
// 开发时间 ：   2021/2/26 02:03
// 文件名称 ：   ceph_conn.go
// 工程名称 ：   netpan
// 开发工具 ：   GoLand
//

package ceph

import (
	"gopkg.in/amz.v1/aws"
	"gopkg.in/amz.v1/s3"
)

var cephConn *s3.S3

// GetCephConnection: 获取ceph连接
func GetCephConnection() *s3.S3 {

	if cephConn != nil {
		return cephConn
	}

	// 1. 初始化ceph
	// docker exec -it gwnode radosgw-admin user create --uid=user1 --display-name=user1(获取ceph集群的accesskey和secretkey)
	auth := aws.Auth{
		AccessKey: "DHDL3A2CV432GT9T1B0P",
		SecretKey: "uHzY036OKARKksrF3HzI6mLskONG8ZH1cu3uBUs9",
	}
	region := aws.Region{
		Name:                 "default",
		EC2Endpoint:          "http://47.112.13.65:9080",
		S3Endpoint:           "http://47.112.13.65:9080",
		S3BucketEndpoint:     "",
		S3LocationConstraint: false,
		S3LowercaseBucket:    false,
		Sign:                 aws.SignV2,
	}

	// 2. 创建S3类型的链接
	return s3.New(auth, region)
}

// GetCephBucket: 获取指定的bucket对象
func GetCephBucket(bucket string) *s3.Bucket {
	conn := GetCephConnection()
	return conn.Bucket(bucket)
}
